import React from 'react';
import ReactDOM from 'react-dom';
import PropTypes from 'prop-types'
import H1 from './h1'

/* 
    static childContextTypes = {
      theme:PropTypes.string
    }
    getChildContext(){
      return {
        theme:this.props.theme
      }
    }
    以上两部 相当于 告诉所有的后代组件  你们都能直接用getChildContext 返回的对象中的属性


    后代组件想要使用的时候  
    static  conxtextTypes = {
      theme:PropTypes.string
    }
    this.context 获取对应的属性了
*/
class App extends React.Component {
    static childContextTypes = {
      theme:PropTypes.string,
      num:PropTypes.number
    }
    getChildContext(){
      return {
        theme:this.props.theme,
        num:100
      }
    }
    render() {
        return <div className=''>
        祖宗组件
            <H1/>
        </div>;
    }
}

ReactDOM.render(<App theme="dark"/>,document.getElementById('root'))